/*
 * TInline.h
 *
 *  Created on: Jun 24, 2014
 *      Author: brightchen
 */

#ifndef TINLINE_H_
#define TINLINE_H_

#include <iostream>

namespace std
{

  class TInline
  {
  public:
    TInline ();
    virtual
    ~TInline ();

    /**
     * put definition here is ok
     */
    //inline    //best practise: don't put inline here as inline is implementation-related
    void print();
//    {
//      cout << "inline int print();" << endl;
//    }
  };

  /** put definition here also ok */
  //if it's not an inline method, define method in head file cause "multiple definition" error
  //as all the source file which include this head file implement it.
  inline              //best practise: put inline here as part of the implementation
  void TInline::print()
  {
    cout << "inline int print();" << endl;
  }
  /**/
} /* namespace std */

#endif /* TINLINE_H_ */
